// 知识点1：类内成员是const、引用时或者使用某种类类型没有默认构造函数的成员时必须将其初始化

// 知识点2：初始化和赋值是不等价的

// 知识点3：成员初始化的顺序一般是没有要求的，但是若用一个成员来初始化另一个成员是，就必须考虑到其定义时的顺序(写时保持顺序一直即可)

// 此题即出现了知识点3中的问题，用一个成员来初始化另一个成员，没有考虑顺序问题
#include <iostream>
using namespace std;
class A {
public:
  bool isTrue;
  int num;
};
int main() {
  A a;
  if (a.isTrue)
    cout << a.num;
  return 0;
}